#include "mainwindow.h"
#include "ui_mainwindow.h"

MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
    , ui(new Ui::MainWindow)
    ,m_login(nullptr)
    ,m_userPage(nullptr)
    ,m_BookPage(nullptr)
    ,m_recordPage(nullptr)
{

    ui->setupUi(this);
    initPage();

}

MainWindow::~MainWindow()
{
    delete ui;
}

void MainWindow::initPage()
{
    m_userPage=new CellUserMgr(this);
    m_BookPage=new Cell_Bookmgr(this);
    m_recordPage=new Cell_record(this);
    ui->stackedWidget->addWidget(m_userPage);
    ui->stackedWidget->addWidget(m_BookPage);
    ui->stackedWidget->addWidget(m_recordPage);
    ui->stackedWidget->setCurrentIndex(0);

    auto l=ui->tool->children();
    //返回一个子组件列表，其中包含了 tool 组件的所有子组件。这个列表的类型可能是 QList<QObject*> 或类似的类型，其中包含了 tool 组件的所有子组件的指针
    for(auto it:l)
    {
        if(it->objectName().contains("btn"))
        {
            connect(static_cast<QToolButton*>(it),&QToolButton::clicked,this,&MainWindow::dealMenu);
        }
    }
    m_userPage->initPage();
}

void MainWindow::dealMenu()
{
    auto str=sender()->objectName();
    do{
        if("btn_user"==str)
        {
            m_userPage->initPage();
            ui->stackedWidget->setCurrentIndex(0);
            break;
        }
        if("btn_book"==str)
        {
            m_BookPage->initPage();
            ui->stackedWidget->setCurrentIndex(1);
            break;
        }
        if("btn_recording"==str)
        {
            m_recordPage->initPage();
            ui->stackedWidget->setCurrentIndex(2);
            break;
        }
    }while(false);
}

void MainWindow::onLoginSuccesssful(const QString& username)
{
    ui->lb_username->setText("用户名:"+username);
}
